//题目链接：http://noi.openjudge.cn/ch0113/09/
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<int> mul(vector<int>& A , int b)
{
    int t = 0;
    vector<int> C;
    for(int i = 0 ; i < A.size() || t ; ++i)
    {
        if(i < A.size()) t += A[i]*b;
        C.push_back(t % 10);
        t /= 10;
    }
    return C;
}
vector<int> add(vector<int>& A , vector<int> B , int i)
{
    vector<int> C;
    for(int k = 0 ; k < i ; ++k) C.push_back(0);
    int t = 0;
    for(int i = 0 ; i < A.size() || i < B.size() ; ++i)
    {
        if(i < A.size()) t+=A[i];
        if(i < B.size()) t+=B[i];
        C.push_back(t%10);
        t/=10;
    }
    if(t) C.push_back(1);
    return C;
}
int main()
{
    string s1 , s2;
    cin >> s1 >> s2;
    vector<int> A,B;
    for(int i = s1.size()-1 ; i >= 0 ; --i) A.push_back(s1[i]-'0');
    for(int i = s2.size()-1 ; i >= 0 ; --i) B.push_back(s2[i]-'0');
    vector<int> C;
    for(int i = 0 ; i < A.size() ; ++i)
        C = add(C,mul(B,A[i]),i);

    for(int i = C.size()-1 ; i >= 0 ; --i) printf("%d",C[i]);
    return 0;
}